`:top
Eine `!Rewrite-Engine`! (von englisch `*rewrite`*, „umschreiben“ und `*engine`*, „Maschine“) ermöglicht es, an einen `F33f`_`[Webserver`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Webserver]`_`f gerichtete Anfragen intern umzuschreiben oder extern weiterzuleiten. Für den `F33f`_`[Apache-Webserver`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Apache_HTTP_Server]`_`f erledigt das `F33f`_`[Softwaremodul`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Modul_(Software)]`_`f `*mod_rewrite`* diese Aufgabe. Andere Webserver wie etwa `F33f`_`[Microsoft IIS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Microsoft_Internet_Information_Services]`_`f, `F33f`_`[Nginx`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Nginx]`_`f, `F33f`_`[Lighttpd`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Lighttpd]`_`f oder `F33f`_`[Hiawatha Webserver`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Hiawatha_Webserver]`_`f bieten ähnliche Funktionen.
Geschaffen wurde diese Funktionalität, um nach außen ein von internen Faktoren unabhängiges Adressierungsschema zur Verfügung stellen zu können, sodass beispielsweise selbst bei einer Änderung der `F33f`_`[Dateihierarchie`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Dateisystem]`_`f die `F33f`_`[URLs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Uniform_Resource_Locator]`_`f weiterhin gültig bleiben. Man spricht in diesem Fall auch von `F33f`_`[Permanentlinks`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Permanentlink]`_`f.
Die Rewrite-Engines erlauben, die Adressumleitung von zusätzlichen Bedingungen neben der angefragten URL abhängig zu machen, zum Beispiel von der `F33f`_`[referenzierenden URL`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Referrer]`_`f, der `F33f`_`[User-Agent-Kennung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=User_Agent]`_`f oder der `F33f`_`[IP-Adresse`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=IP-Adresse]`_`f des anfragenden `F33f`_`[Clients`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Client]`_`f. Auf diese Weise können beispielsweise `F33f`_`[Weiterleitungen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Weiterleitung]`_`f oder auch `F33f`_`[Cloaking`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Cloaking]`_`f realisiert werden.
>>Contents
• `F0af`_`[Beispielanwendung`#beispielanwendung]`_`f
• `F0af`_`[Apache/mod_rewrite`#apache-mod-rewrite]`_`f
• `F0af`_`[nginx`#nginx]`_`f
• `F0af`_`[Lighttpd`#lighttpd]`_`f
• `F0af`_`[Weblinks`#weblinks]`_`f
-─
>>Beispielanwendung
Rewrite-Engines werden häufig genutzt, um `F33f`_`[Ressourcen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Ressource]`_`f mit `F33f`_`[dynamischen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Webseite]`_`f URLs unter Alternativadressen erreichbar zu machen.
Die Ressource mit der internen, technisch bedingten Adresse
`B100`F9d9/w/index.php?title=Beispiel`f`b
ist so beispielsweise auch unter folgender Adresse erreichbar
`B100`F9d9/wiki/Beispiel`f`b
Nach außen werden dann statt der dynamischen, parametrisierten Adressen scheinbar statische Adressen verwendet. Dies ist nützlich, da kurze, selbsterklärende Adressen meist als lesbarer, einfacher zu merken und ganz allgemein als vertrauenswürdiger eingestuft werden. Man spricht in diesem Fall auch von `F33f`_`[Clean URLs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Clean_URL]`_`f.
Die Umsetzung des gezeigten Anwendungsfalls variiert je nach verwendeter Webserver-Software und Kontext. In der Regel werden `F33f`_`[reguläre Ausdrücke`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Regulärer_Ausdruck]`_`f verwendet, um ein Suchmuster zu definieren, das auf ein gewünschtes Zielmuster angewendet wird. Das Suchmuster ist dabei die scheinbare statische Adresse. Das Zielmuster ist die interne oder `*physikalische`* Ressource. Die dynamischen Bereiche, also beispielsweise die Artikel-ID eines Artikels aus dem Suchmuster, werden dabei meist mit Hilfe von Variablen auf das Zielmuster übertragen.
Folgend einige Beispiele der konkreten Umsetzung für das `F33f`_`[Apache`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Apache_HTTP_Server]`_`f-Modul `*mod_rewrite`*, den Webserver `F33f`_`[nginx`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Nginx]`_`f und den Webserver `F33f`_`[Lighttpd`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Lighttpd]`_`f.
>>>Apache/mod_rewrite
`B100`F9d9RewriteEngine on`f`b
`B100`F9d9RewriteRule ^/wiki/(.*)$ /w/index.php?title=$1`f`b
>>>nginx
`B100`F9d9location /wiki {`f`b
`B100`F9d9 rewrite ^/wiki/(.*)$ /index.php?title=$1;`f`b
`B100`F9d9}`f`b
>>>Lighttpd
`B100`F9d9url.rewrite-once = (`f`b
`B100`F9d9 "^/wiki/(.*)$" => "/index.php?title=$1"`f`b
`B100`F9d9)`f`b
Der in Fettschrift markierte Teil des regulären Ausdrucks bedeutet, dass jedes beliebige Zeichen in die Variable `B100`F9d9$1`f`b geschrieben und somit auf das Zielmuster angewendet wird.
>>Weblinks
• `*mod_rewrite`*-Modul in der Apache-Dokumentation (englisch)
• `*ISAPI_Rewrite`*-Modul für IIS (englisch)
• `*rewrite`*-Modul im Nginx-Wiki (englisch)
• `*mod_rewrite`*-Modul in der Lighttpd-Dokumentation (englisch)
• `*mod_rewrite`* im `F33f`_`[Selfhtml`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Selfhtml]`_`f-Wiki (deutsch)
• `F33f`_`[Tim Berners-Lee`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Tim_Berners-Lee]`_`f: Hypertext Style: `*Cool URIs don’t change`*. (englisch)
`c`F0af`_`[↑ Back to top`#top]`_`f`a